package model;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;

import org.json.JSONException;
import org.json.JSONObject;

public class Lokalizacje extends RRR implements Comparable<Lokalizacje>{
	  public final static String key="5";
      String x,y,id,klient,dn,nazwa;
      Zom zoom =new Zom();
      WSP wsp=new WSP();
      Set<Pokoj> pokoje =new TreeSet<Pokoj>();
      {
              aa.add("NAZWA");aa.add("KLIENT");
      }
      //pobierz wszystkie lokalizacje ktorych zoom jest w zakresie
      /**
       * wprowadz zom jako int i 
       * jesli zom lokalizacji jest rowny podanemu > wsp
       * @param zom
       * @return
       */
      public WSP checkZoom(int zom)
      {
              WSP a=null;
              if ( Integer.valueOf(zoom.getZom())==zom)
                      a=wsp;
              return a;
      }
      public String getNazwa() {
              return nazwa;
      }
      public void setNazwa(String nazwa) {
              this.nazwa = nazwa;
      }
      
      public Set<Pokoj> getPokoje() {
              return pokoje;
      }
      public void setPokoje(Set<Pokoj> pokoje) {
              this.pokoje = pokoje;
      }
      
      public List<String> getL(){
              return aa;
      }
      public Map<String,String> toString_()
      {
              c.put("O", POLATABEL.LOKALIZACJE_TABELA);       
              id();
              c.put("DN", "OP");
              c.put("ZOOM", "12");
              c.put("key",key);
              return c;
      }
      private final String SS="?";
      private String wartosci()
      {
    	  return /*this.id+SS+*/
    			  this.nazwa+SS+
    			  this.klient;
      }
      protected void id()
      {
              c.put("TABELA", POLATABEL.LOKALIZACJE_TABELA);
              c.put("POLATABELI", POLATABEL.LOKALOZACJE_POLA);
              c.put("URL", POLATABEL.URL);
              c.put("WARTOSCI",wartosci());
      }
      
      public String[] getRoomNames()
      {
              String[] p=new String[pokoje.size()];
              int y=0;
              for(Pokoj o:pokoje)
                      p[y++]=o.nazwa;
              return p;
              
      }
      public Lokalizacje(String wartosc) {
              super(wartosc);
              nazwa=wartosc;
      }
      public Lokalizacje(JSONObject a) {
              super("");
              try {
            	  id=a.getString("ID");
            	  klient=a.getString("KLIENT");
            	  nazwa=a.getString("NAZWA");
                      /*x=a.getString("x");
                      y=a.getString("y");
                      klient=a.getString("klient");
                      dn=a.getString("dn");
                      nazwa=a.getString("nazwa");*/
              } catch (JSONException e) {
                      e.printStackTrace();
              }
      }
      public Lokalizacje() {
              super("");
      }
      public Lokalizacje(Set<Pokoj> p) {
              super("");
              pokoje=p;
      }
      public Lokalizacje(String id,String h,String x, String y, String klient) {
              super(h);
              this._id_obiektu=id;
              this.x = x;
              this.y = y;
              this.klient = klient;
      }
      @Override
      public int compareTo(Lokalizacje another) {
              return this.nazwa.compareTo(another.nazwa);
      }
	

}
